package com.ewanghuiju.app.model.http.api;

import com.ewanghuiju.app.model.bean.local.HomeLimitedSeckillLocalTop;
import com.ewanghuiju.app.model.bean.local.MessageCommonBean;
import com.ewanghuiju.app.model.bean.local.SearchHotBean;
import com.ewanghuiju.app.model.bean.local.VipEquityBean;
import com.ewanghuiju.app.model.bean.request.AddressRequestBean;
import com.ewanghuiju.app.model.bean.request.PhoneRegistbindRequestBean;
import com.ewanghuiju.app.model.bean.request.PintuanSearchRequestBean;
import com.ewanghuiju.app.model.bean.response.AddressListResponBean;
import com.ewanghuiju.app.model.bean.response.BillListResponBean;
import com.ewanghuiju.app.model.bean.response.BuyDailiInfoBean;
import com.ewanghuiju.app.model.bean.response.EarningsInfoBean;
import com.ewanghuiju.app.model.bean.response.HistorySearchResponBean;
import com.ewanghuiju.app.model.bean.response.MailShopResponBean;
import com.ewanghuiju.app.model.bean.response.OrderStatusResponBean;
import com.ewanghuiju.app.model.bean.response.PaySignResponBean;
import com.ewanghuiju.app.model.bean.response.PhoneRegistbindResponBean;
import com.ewanghuiju.app.model.bean.response.PingjiaListResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanClassifyResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanGoodsSpecsResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanHeadListResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanOnlineListResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanOrderDetailsResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanOrderListResponBean;
import com.ewanghuiju.app.model.bean.response.PintuanShopListResponBean;
import com.ewanghuiju.app.model.bean.response.RedBeanDetailsResponBean;
import com.ewanghuiju.app.model.bean.response.RedEnvelopesDetailsResponBean;
import com.ewanghuiju.app.model.bean.response.RuleBean;
import com.ewanghuiju.app.model.bean.response.ShareResponBean;
import com.ewanghuiju.app.model.bean.response.TeamInfoResponBean;
import com.ewanghuiju.app.model.bean.response.UserInfoResponBean;
import com.ewanghuiju.app.model.bean.response.VipUpOrderRecordResponBean;
import com.ewanghuiju.app.model.bean.response.WaterDetailsResponBean;
import com.ewanghuiju.app.model.bean.response.WaterGoodsClassifyBean;
import com.ewanghuiju.app.model.bean.response.WaterOrderListResponBean;
import com.ewanghuiju.app.model.bean.response.WaterShopResponBean;
import com.ewanghuiju.app.model.bean.response.ZfbInfoBean;
import com.ewanghuiju.app.model.http.request.BaseRequest;
import com.ewanghuiju.app.model.http.response.BaseResponse;
import com.ewanghuiju.app.model.http.response.MyHttpResponse;
import com.ewanghuiju.app.test.bean.PintuanClassifyRightBean;

import java.util.List;
import java.util.Map;

import io.reactivex.Flowable;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import retrofit2.http.Query;
import retrofit2.http.Url;

/**
 * @author sj  qq:751943509
 * @class describe
 * @time 2020/2/11
 */
public interface MyTestApis {
    //测试服
    String HOST = "http://cvs.wangxiaoma.cn/";
//    String HOST = "http://cs.wangxiaoma.cn/";
//    String HOST = "http://piliang.itiqq.com/";
    //正式服
//    String HOST = "http://ewzs.wangxiaoma.cn/";

    /**
     * 绑定邀请码
     *
     * @param phoneRegistbindRequestBean
     * @return User/mobilebind
     */
    @POST("mobilebind")
    Flowable<MyHttpResponse<PhoneRegistbindResponBean>> phoneBind(@Body PhoneRegistbindRequestBean phoneRegistbindRequestBean);

    /**
     * 极光id修改
     *
     * @param jpush_id 极光id
     * @return
     */
    @FormUrlEncoded
    @POST("userjg")
    Flowable<MyHttpResponse<BaseResponse>> bindUserjg(@Field("jpush_id") String jpush_id);

    /**
     * 获取用户信息
     *
     * @return
     */
    @POST("userinfo")
    Flowable<MyHttpResponse<UserInfoResponBean>> getUserInfo();

    @POST("tbqg")
    Flowable<MyHttpResponse<HomeLimitedSeckillLocalTop>> getTbqg();//限时抢购

    @GET("tbyoulike")
    Flowable<MyHttpResponse<List<MailShopResponBean>>> getTbyoulike(@Query("page") int page);//为您推荐

    @POST("pticates_all")
    Flowable<MyHttpResponse<List<PintuanClassifyResponBean>>> getPticatesll();//拼团一级分类

    @POST("pticates_list")
    Flowable<MyHttpResponse<List<PintuanClassifyResponBean>>> getPticateslist();//拼团所有的一级分类

    @POST("pticates_too")
    Flowable<MyHttpResponse<PintuanClassifyRightBean>> getPticatesToo(@Body BaseRequest baseRequest);//拼团二级分类

    @FormUrlEncoded
    @POST("ptihot_goods_list")
    Flowable<MyHttpResponse<List<PintuanShopListResponBean>>> getPtihotGoodsList(@Field("page") int page, @Field("spe_price") String spe_price, @Field("sales") String sales, @Field("people_number") String people_number);//热门拼团列表

    /**
     * 热门团购  团
     *
     * @param page
     * @param spe_price
     * @param sales
     * @param people_number
     * @return
     */
    @FormUrlEncoded
    @POST("ptihot_group_list")
    Flowable<MyHttpResponse<List<PintuanShopListResponBean>>> getPtihotGroupList(@Field("page") int page, @Field("spe_price") String spe_price, @Field("sales") String sales, @Field("people_number") String people_number);//正在拼团的列表


    /**
     * 设置微信号
     *
     * @param wx_card
     * @return
     */
    @FormUrlEncoded
    @POST("wx_card")
    Flowable<MyHttpResponse<BaseResponse>> settingWxCard(@Field("wx_card") String wx_card);

    /**
     * 拼团列表
     *
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("ptigoods_list")
    Flowable<MyHttpResponse<List<PintuanShopListResponBean>>> getPtiGoodsList(@Field("page") int page);


    @POST("ptiaddress")
    Flowable<MyHttpResponse<AddressListResponBean>> addPtiaddress(@Body AddressRequestBean addressRequestBean);//添加地址信息

    @POST("ptiaddress_edit")
    Flowable<MyHttpResponse<AddressListResponBean>> addPtiaddressEdit(@Body AddressRequestBean addressRequestBean);//编辑地址信息

    @GET("tbgoodsgao")
    Flowable<MyHttpResponse<List<MailShopResponBean>>> tbGoodsgao(@Query("page") int page);//大额神券

    @POST("ptisearch")
        //该接口已弃用
    Flowable<MyHttpResponse<List<PintuanShopListResponBean>>> getPtisearch(@Body PintuanSearchRequestBean bean);//搜索结果

    @POST("ptiaddress_list")
    Flowable<MyHttpResponse<List<AddressListResponBean>>> getPtiaddresslist();//地址列表

    @FormUrlEncoded //使用@Field时记得添加@FormUrlEncoded
    @POST("ptisearch")
    Flowable<MyHttpResponse<PintuanShopListResponBean>> getPintuansearch(@Field("page") int page, @Field("name") String name, @Field("spe_price") String spe_price, @Field("sales") String sales, @Field("people_number") String people_number);//拼团搜索结果

    /**
     * @param goodsid 商品规格id
     * @return
     */
    @FormUrlEncoded
    @POST("ptigoods_specs")
    Flowable<MyHttpResponse<List<PintuanGoodsSpecsResponBean>>> getPtigoodsSpecs(@Field("goodsid") String goodsid);//商品规格

    /**
     * 获取商品详情
     *
     * @param goodsid 商品id
     * @return
     */
    @FormUrlEncoded
    @POST("ptigoods_info")
    Flowable<MyHttpResponse<PintuanShopListResponBean>> getptigoodsInfo(@Field("goodsid") String goodsid);//拼团商品详情

    /**
     * @param paypwd  支付密码
     * @param paypwd1 再次支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("setpaypwd")
    Flowable<MyHttpResponse<BaseResponse>> setPaypwd(@Field("paypwd") String paypwd, @Field("paypwd1") String paypwd1);//设置支付密码

    /**
     * @param page          分页
     * @param id            二级分类id
     * @param spe_price     价格排序
     * @param sales         销量排序
     * @param people_number 人数排序
     * @return
     */
    @FormUrlEncoded
    @POST("pticate_goods_list")
    Flowable<MyHttpResponse<List<PintuanShopListResponBean>>> getPticateGoodsList(@Field("page") int page, @Field("id") String id, @Field("spe_price") String spe_price, @Field("sales") String sales, @Field("people_number") String people_number);//根据二级分类查询商品信息列表

    /**
     * 根据一级分类查询商品信息列表
     *
     * @param page          分页
     * @param id            一级分类id
     * @param spe_price     价格排序
     * @param sales         销量排序
     * @param people_number 人数排序
     * @return
     */
    @FormUrlEncoded
    @POST("pticate_one_goods_list")
    Flowable<MyHttpResponse<List<PintuanShopListResponBean>>> getPticateOneGoodsList(@Field("page") int page, @Field("id") String id, @Field("spe_price") String spe_price, @Field("sales") String sales, @Field("people_number") String people_number);//根据一级分类查询商品信息列表

    /**
     * @param id 地址id
     * @return
     */
    @FormUrlEncoded
    @POST("ptiaddress_delete")
    Flowable<MyHttpResponse<BaseResponse>> deletePtngoodsList(@Field("id") int id);//地址信息删除

    /**
     * @param goods_id 商品id
     * @return
     */
    @FormUrlEncoded
    @POST("ptiget_identity")
    Flowable<MyHttpResponse<BaseResponse>> ptigetIdentity(@Field("goods_id") String goods_id);//检测团长身份

    /**
     * @param goods_id 商品id
     * @param specs_id 规格id
     * @return
     */
    @FormUrlEncoded
    @POST("pticonfirmation_order")
    Flowable<MyHttpResponse<AddressListResponBean>> pticonfirmationOrder(@Field("goods_id") String goods_id, @Field("specs_id") String specs_id, @Field("group_id") String group_id);//确认订单

    /**
     * 发起拼团
     *
     * @param goods_id       地址id
     * @param address_id     商品id
     * @param specs_id       规格id （无规格不传）
     * @param actual_payment 实付金额
     * @param pay_password   支付密码
     * @param order_remark   订单备注
     * @return
     */
    @FormUrlEncoded
    @POST("ptistar_group")
    Flowable<MyHttpResponse<BaseResponse>> ptistarGroup(@Field("goods_id") String goods_id, @Field("address_id") String address_id, @Field("specs_id") String specs_id,
                                                        @Field("actual_payment") String actual_payment, @Field("pay_password") String pay_password,
                                                        @Field("is_goods") String is_goods, @Field("order_remark") String order_remark);//发起拼团并支付完成

    /**
     * @param order_id 订单号
     * @return
     */
    @FormUrlEncoded
    @POST("ptiorder_info")
    Flowable<MyHttpResponse<PintuanOrderDetailsResponBean>> ptiorderInfo(@Field("order_id") String order_id);//支付成功时的订单详情

    /**
     * @param page       分页
     * @param order_type 订单类型 （0或者不传全部）1:
     * @return
     */
    @FormUrlEncoded
    @POST("ptiorder_list")
    Flowable<MyHttpResponse<List<PintuanOrderListResponBean>>> getPtiorderList(@Field("page") int page, @Field("order_type") int order_type, @Field("type") String type);//拼团订单列表

    /**
     * 商品id
     *
     * @param goods_id
     * @return
     */
    @FormUrlEncoded
    @POST("ptigroup_list")
    Flowable<MyHttpResponse<List<PintuanOnlineListResponBean>>> getPtigroupList(@Field("goods_id") String goods_id);//单个商品正在拼团中的团队列表

    /**
     * @param group_id     团号
     * @param address_id   地址id
     * @param specs_id     规格id（无规格不传）
     * @param pay_password 支付密码
     * @param order_remark 订单备注
     * @return
     */
    @FormUrlEncoded
    @POST("ptijoin_group")
    Flowable<MyHttpResponse<BaseResponse>> ptijoinGroup(@Field("group_id") String group_id, @Field("address_id") String address_id, @Field("specs_id") String specs_id,
                                                        @Field("pay_password") String pay_password, @Field("order_remark") String order_remark);//加入拼团

    /**
     * 充值
     *
     * @param payType   支付方式 wechat/alipay
     * @param pay_price 金额
     * @return
     */
    @FormUrlEncoded
    @POST("userpay")
    Flowable<MyHttpResponse<PaySignResponBean>> userpay(@Field("payType") String payType, @Field("pay_price") String pay_price);//充值

    /**
     * 确认收货
     *
     * @param order_id
     * @return
     */
    @FormUrlEncoded
    @POST("ptitake_delivery")
    Flowable<MyHttpResponse<BaseResponse>> ptitakeDelivery(@Field("order_id") String order_id);//确认收货

    /**
     * 拼团商品分享
     *
     * @param goods_id 商品id
     * @param group_id 团号
     * @return
     */
    @FormUrlEncoded
    @POST("ptipt_goods_share")
    Flowable<MyHttpResponse<ShareResponBean>> ptiptGoodsShare(@Field("goods_id") String goods_id, @Field("group_id") String group_id);//商品分享

    /**
     * @param order_id 订单id
     * @param content  评价内容
     * @param image    评价图
     * @param stars    星星（1~5）5代表五颗星
     * @return
     */
    @FormUrlEncoded
    @POST("ptievaluation")
    Flowable<MyHttpResponse<BaseResponse>> ptieValuation(@Field("order_id") String order_id, @Field("content") String content, @Field("image") String image, @Field("stars") String stars);//去评价

    /**
     * 历史搜索 列表
     *
     * @return
     */
    @POST("ptihistory")
    Flowable<MyHttpResponse<List<HistorySearchResponBean>>> ptihistory();//历史搜索

    /**
     * @param type 1：全部（删除单个不传此参数个不传此参数）
     * @param name 删除的记录词(删除全部不传此参数)
     * @return
     */
    @FormUrlEncoded
    @POST("ptihistory_delete")
    Flowable<MyHttpResponse<BaseResponse>> ptihistoryDelete(@Field("type") String type, @Field("name") String name);//删除搜索历史记录

    /**
     * 热门搜索
     *
     * @return
     */
    @POST("ptihot_words")
    Flowable<MyHttpResponse<List<SearchHotBean>>> ptihotWords();//热门搜索

    /**
     * 获取会员权益
     *
     * @return
     */
    @POST("userrights")
    Flowable<MyHttpResponse<VipEquityBean>> getVipEquityBeanInfo();//获取会员权益信息

    /**
     * 获取评价列表
     *
     * @param page     分页
     * @param type     1(全部最新)，2(质量很好) 3,(差评)4，（有图）
     * @param goods_id 商品id
     * @return
     */
    @FormUrlEncoded
    @POST("ptievaluation_list")
    Flowable<MyHttpResponse<List<PingjiaListResponBean>>> ptievaluationList(@Field("page") int page, @Field("type") String type, @Field("goods_id") String goods_id);//评价列表

    /**
     * 获取oss token
     *
     * @param sessionname ios ，Android
     * @return
     */
    @FormUrlEncoded
    @POST("osstoken")
    Flowable<MyHttpResponse<BaseResponse>> getOsstoken(@Field("sessionname") String sessionname);//获取oss token

    /**
     * 获取拼团中的用户头像
     *
     * @param group_id
     * @return
     */
    @FormUrlEncoded
    @POST("ptigroup_user_image")
    Flowable<MyHttpResponse<PintuanHeadListResponBean>> getPtigroupUserImage(@Field("group_id") String group_id);//拼团中的用户头像

    /**
     * 获取团长身份/转化开团额度
     *
     * @param integral
     * @return
     */
    @FormUrlEncoded
    @POST("ptiget_group_integral")
    Flowable<MyHttpResponse<BaseResponse>> getPtigetGroupIntegral(@Field("integral") String integral);//获取团长身份/转化开团额度

    /**
     * 返回换算后的开团额度总数量
     *
     * @param number
     * @return
     */
    @FormUrlEncoded
    @POST("ptigroup_integral_sum")
    Flowable<MyHttpResponse<BaseResponse>> getPtigroupIntegralSum(@Field("number") String number);//返回换算后的开团额度总数量

    /**
     * 购买区域代理支付
     *
     * @return
     */
    @FormUrlEncoded
    @POST("ptibuy_daili")
    Flowable<MyHttpResponse<BaseResponse>> ptibuyDaili(@Field("area_id") String area_id);//购买区域代理支付

    /**
     * 购买区域代理记录
     *
     * @return
     */
    @POST("ptibuy_daili_record")
    Flowable<MyHttpResponse<List<VipUpOrderRecordResponBean>>> ptibuyDailiRecord();//购买区域代理记录

    /**
     * 钱包记录
     *
     * @param page       分页
     * @param price_type 1 收入 2 支出
     * @param time_type  时间
     * @param status     1 淘宝 2 天猫 3 拼团 4 充值 5 提现
     * @return
     */
    @FormUrlEncoded
    @POST("mymoney")
    Flowable<MyHttpResponse<BillListResponBean>> getWalletList(
            @Field("page") int page, @Field("price_type") String price_type,
            @Field("time_type") String time_type,
            @Field("status") String status);

    /**
     * 绑定支付宝
     *
     * @param uname  用户名
     * @param alipay 支付宝账户
     * @param mobile 手机号
     * @param code   验证码
     * @return
     */
    @FormUrlEncoded
    @POST("updatealipay")
    Flowable<MyHttpResponse<BaseResponse>> updateAlipay(
            @Field("uname") String uname, @Field("alipay") String alipay,
            @Field("mobile") String mobile,
            @Field("code") String code);

    /**
     * 获取支付宝信息
     *
     * @return
     */
    @POST("alipayinfo")
    Flowable<MyHttpResponse<ZfbInfoBean>> getAlipayinfo();

    /**
     * 提现接口
     *
     * @param price    金额
     * @param type     alipay
     * @param realname 姓名
     * @param alipay   账号
     * @param password 支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("withdraw")
    Flowable<MyHttpResponse<BaseResponse>> withdraw(
            @Field("price") String price, @Field("type") String type,
            @Field("realname") String realname,
            @Field("alipay") String alipay,
            @Field("password") String password);

    /**
     * 收益中心
     *
     * @param type
     * @return
     */
    @FormUrlEncoded
    @POST("ptiprofit_center")
    Flowable<MyHttpResponse<EarningsInfoBean>> getPtiprofitCenter(@Field("type") String type);

    /**
     * 我的团队 团队粉丝
     *
     * @param page   分页
     * @param search 搜索
     * @param type   1 全部粉丝 2 下级运营商 3 直属粉丝 4 今日粉丝 5 昨日新增 6 二级粉丝
     * @return
     */
    @FormUrlEncoded
    @POST("myfans")
    Flowable<MyHttpResponse<TeamInfoResponBean>> getMyfans(@Field("page") int page, @Field("search") String search, @Field("type") int type);

    /**
     * 团队粉丝详情
     *
     * @param page   分页
     * @param search 搜索
     * @param id     id
     * @return
     */
    @FormUrlEncoded
    @POST("myfansinfo")
    Flowable<MyHttpResponse<TeamInfoResponBean>> getMyfansinfo(@Field("page") int page, @Field("search") String search, @Field("id") String id);

    /**
     * 购买区域代理信息返回
     *
     * @return
     */
    @POST("ptibuy_daili_info")
    Flowable<MyHttpResponse<BuyDailiInfoBean>> getPtibuyDailiInfo();

    /**
     * 水滴商品列表
     *
     * @param page 分页
     * @return
     */
    @FormUrlEncoded
    @POST("jfgoods")
    Flowable<MyHttpResponse<List<WaterShopResponBean>>> getJfgoods(@Field("page") int page);

    /**
     * 水滴商品详情
     *
     * @param id
     * @return
     */
    @FormUrlEncoded
    @POST("jfgoodsinfo")
    Flowable<MyHttpResponse<WaterShopResponBean>> getJfgoodsinfo(@Field("id") String id);

    /**
     * 积分购买
     *
     * @param goods_id     商品id
     * @param goods_num    购买数量
     * @param address_id   地址id
     * @param pay_password 支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("integralconversion")
    Flowable<MyHttpResponse<BaseResponse>> integralConversion(@Field("goods_id") String goods_id, @Field("goods_num") String goods_num, @Field("address_id") String address_id, @Field("pay_password") String pay_password, @Field("order_remark") String order_remark);

    /**
     * 积分订单
     *
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("integralconversionlist")
    Flowable<MyHttpResponse<List<WaterOrderListResponBean>>> getIntegralconversionlist(@Field("page") int page);

    /**
     * 积分订单详情
     *
     * @param id
     * @return
     */
    @FormUrlEncoded
    @POST("integralconversioninfo")
    Flowable<MyHttpResponse<WaterOrderListResponBean>> getIntegralconversioninfo(@Field("id") String id);

    /**
     * 分红豆信息和明细
     *
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("ptired_bean_info")
    Flowable<MyHttpResponse<RedBeanDetailsResponBean>> getPtiredBeanInfo(@Field("page") int page);


    /**
     * 根据分红豆转化股数
     *
     * @param number 分红豆数量
     * @return
     */
    @FormUrlEncoded
    @POST("ptired_bean_proportion")
    Flowable<MyHttpResponse<BaseResponse>> ptiredeanProportion(@Field("number") String number);

    /**
     * 用户股权转化分红信息返回
     *
     * @param number 分红豆数量
     * @param stocks 股数
     * @return
     */
    @FormUrlEncoded
    @POST("ptistocks_info")
    Flowable<MyHttpResponse<BaseResponse>> ptistocksInfo(@Field("number") String number, @Field("stocks") String stocks);

    /**
     * 水滴转增用户信息返回
     *
     * @return
     */
    @POST("ptiintegral_transfer_info")
    Flowable<MyHttpResponse<WaterDetailsResponBean>> ptistocksInfo();

    /**
     * 水滴明细
     *
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("ptiintegral_info")
    Flowable<MyHttpResponse<List<RedBeanDetailsResponBean>>> getPtiintegralinfo(@Field("page") int page);

    /**
     * 点击转增水滴
     *
     * @param number 数量
     * @param mobile 手机号
     * @return
     */
    @FormUrlEncoded
    @POST("ptitransfer_integral")
    Flowable<MyHttpResponse<BaseResponse>> ptitransferIntegral(@Field("number") String number, @Field("mobile") String mobile);

    /**
     * 意见反馈
     *
     * @param content
     * @param platform_type
     * @param version
     * @return
     */
    @FormUrlEncoded
    @POST("ptiopinion")
    Flowable<MyHttpResponse<BaseResponse>> ptiopinion(@Field("content") String content, @Field("platform_type") String platform_type, @Field("version") String version);

    /**
     * 新手教程列表
     *
     * @param page
     * @return
     */
    @FormUrlEncoded
    @POST("ptitutorial_list")
    Flowable<MyHttpResponse<List<MessageCommonBean>>> getPtitutorialList(@Field("page") int page);

    /**
     * 修改用户信息
     *
     * @param type     1 头像 2 昵称
     * @param avatar   头像
     * @param nickname 昵称
     * @return
     */
    @FormUrlEncoded
    @POST("userinfo_edit")
    Flowable<MyHttpResponse<BaseResponse>> userinfo_edit(@Field("type") String type, @Field("avatar") String avatar, @Field("nickname") String nickname);

    /**
     * 修改手机号
     *
     * @param old_mobile 原手机号
     * @param pwd        密码
     * @param mobile     新手机号
     * @param code       验证码
     * @return
     */
    @FormUrlEncoded
    @POST("mobile_edit")
    Flowable<MyHttpResponse<BaseResponse>> mobileEdit(@Field("old_mobile") String old_mobile, @Field("pwd") String pwd, @Field("mobile") String mobile, @Field("code") String code);

    /**
     * 规则  type (1:拼团规则)(2:邀请好友规则)(3:水滴规则)(4:分红豆规则)
     *
     * @param type
     * @return
     */
    @FormUrlEncoded
    @POST("ptiguize")
    Flowable<MyHttpResponse<RuleBean>> getPtiguize(@Field("type") String type);

    /**
     * 检测团是否能加入该团
     *
     * @param group_id 团号
     * @return
     */
    @FormUrlEncoded
    @POST("pticheck_group")
    Flowable<MyHttpResponse<BaseResponse>> pticheckGroup(@Field("group_id") String group_id);


    /**
     * 领红包次数信息检测
     *
     * @return
     */
    @POST("ptilucky_draw_check")
    Flowable<MyHttpResponse<BaseResponse>> ptiLucydrawCheck();

    /**
     * 领红包
     *
     * @return
     */
    @POST("ptilucky_draw")
    Flowable<MyHttpResponse<BaseResponse>> ptiLuckydraw();

    /**
     * 领红包列表
     *
     * @return
     */
    @POST("ptilucky_draw_list")
    Flowable<MyHttpResponse<RedEnvelopesDetailsResponBean>> ptiLuckydrawList();

    /**
     * 红包开关
     *
     * @return
     */
    @POST("ptilucky_draw_off")
    Flowable<MyHttpResponse<BaseResponse>> ptiLuckyDrawoff();


    /**
     * 收益提现
     *
     * @param price    金额
     * @param type     alipay
     * @param realname 姓名
     * @param alipay   账号
     * @param password 支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("earnings_withdraw")
    Flowable<MyHttpResponse<BaseResponse>> earningsWithdraw(@Field("price") String price, @Field("type") String type, @Field("realname") String realname, @Field("alipay") String alipay, @Field("password") String password);

    /**
     * 水滴商品分类
     *
     * @return
     */
    @POST("jfgoodscate1")
    Flowable<MyHttpResponse<List<WaterGoodsClassifyBean>>> getJfgoodscate();

    /**
     * 水滴分类中商品
     *
     * @param page 分页
     * @return
     */
    @FormUrlEncoded
    @POST("jfgoodscate")
    Flowable<MyHttpResponse<List<WaterShopResponBean>>> getJfgoodscate(@Field("page") int page, @Field("goods_cate_id") String goods_cate_id);

    /**
     * 收益明细列表
     *
     * @param page 分页
     * @param type (1:收益)(2:提现)
     * @return
     */
    @FormUrlEncoded
    @POST("ptiprofit_center_list")
    Flowable<MyHttpResponse<BillListResponBean>> getPtiprofitcenterList(
            @Field("page") int page, @Field("type") String type);

    /**
     * 获取订单状态数量
     *
     * @return
     */
    @POST("ptiorder_status")
    Flowable<MyHttpResponse<OrderStatusResponBean>> getPtiorderStatus();

    //==================================分割线=====================================
    @Multipart
    @POST("ptievaluation")
    Flowable<MyHttpResponse<BaseResponse>> uploadFlie(
            @PartMap Map<String, RequestBody> files);

//    @Multipart
//    @POST()
//    Flowable<MyHttpResponse<BaseResponse>> uploadFlie(
//            @Url String fileUrl,
//            @Part("description") RequestBody description,
//            @Part("files") MultipartBody.Part file);


    @Multipart
    @POST("ptievaluation")
    Flowable<MyHttpResponse<BaseResponse>> uploadInfo(@PartMap Map<String, RequestBody> files, @Part MultipartBody.Part file);


    @POST()
    Flowable<MyHttpResponse<BaseResponse>> uploadFiles(
            @Url() String url,
            @Body Map<String, RequestBody> maps);

}
